(0) Obligation:

Clauses:

perm1(L, M) :- ','(eq_len1(L, M), same_sets(L, M)).
eq_len1([], []).
eq_len1(.(X1, Xs), .(X2, Ys)) :- eq_len1(Xs, Ys).
member(X, .(X, X3)).
member(X, .(X4, T)) :- member(X, T).
same_sets([], X5).
same_sets(.(X, Xs), L) :- ','(member(X, L), same_sets(Xs, L)).

Query: perm1(g,g)

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph ICLP10.

(2) Obligation:

Clauses:

eq_len1A([], []).
eq_len1A(.(T27, T28), .(T29, T30)) :- eq_len1A(T28, T30).
memberB(T90, .(T90, T91)).
memberB(T98, .(T99, T100)) :- memberB(T98, T100).
pC(T43, T45, T46, T44) :- memberD(T43, T45, T46).
pC(T43, T117, T118, []) :- memberD(T43, T117, T118).
pC(T43, T129, T130, .(T127, T128)) :- ','(memberD(T43, T129, T130), pC(T127, T129, T130, T128)).
memberD(T63, T63, T64).
memberD(T75, T76, T77) :- memberB(T75, T77).
perm1E([], []).
perm1E(.(T15, T16), .(T17, T18)) :- eq_len1A(T16, T18).
perm1E(.(T43, T44), .(T45, T46)) :- ','(eq_len1A(T44, T46), pC(T43, T45, T46, T44)).

Query: perm1E(g,g)

(3) PrologToPiTRSProof (SOUND transformation)

We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes:
perm1E_in: (b,b)
eq_len1A_in: (b,b)
pC_in: (b,b,b,b)
memberD_in: (b,b,b)
memberB_in: (b,b)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

perm1E_in_gg([], []) → perm1E_out_gg([], [])
perm1E_in_gg(.(T15, T16), .(T17, T18)) → U8_gg(T15, T16, T17, T18, eq_len1A_in_gg(T16, T18))
eq_len1A_in_gg([], []) → eq_len1A_out_gg([], [])
eq_len1A_in_gg(.(T27, T28), .(T29, T30)) → U1_gg(T27, T28, T29, T30, eq_len1A_in_gg(T28, T30))
U1_gg(T27, T28, T29, T30, eq_len1A_out_gg(T28, T30)) → eq_len1A_out_gg(.(T27, T28), .(T29, T30))
U8_gg(T15, T16, T17, T18, eq_len1A_out_gg(T16, T18)) → perm1E_out_gg(.(T15, T16), .(T17, T18))
perm1E_in_gg(.(T43, T44), .(T45, T46)) → U9_gg(T43, T44, T45, T46, eq_len1A_in_gg(T44, T46))
U9_gg(T43, T44, T45, T46, eq_len1A_out_gg(T44, T46)) → U10_gg(T43, T44, T45, T46, pC_in_gggg(T43, T45, T46, T44))
pC_in_gggg(T43, T45, T46, T44) → U3_gggg(T43, T45, T46, T44, memberD_in_ggg(T43, T45, T46))
memberD_in_ggg(T63, T63, T64) → memberD_out_ggg(T63, T63, T64)
memberD_in_ggg(T75, T76, T77) → U7_ggg(T75, T76, T77, memberB_in_gg(T75, T77))
memberB_in_gg(T90, .(T90, T91)) → memberB_out_gg(T90, .(T90, T91))
memberB_in_gg(T98, .(T99, T100)) → U2_gg(T98, T99, T100, memberB_in_gg(T98, T100))
U2_gg(T98, T99, T100, memberB_out_gg(T98, T100)) → memberB_out_gg(T98, .(T99, T100))
U7_ggg(T75, T76, T77, memberB_out_gg(T75, T77)) → memberD_out_ggg(T75, T76, T77)
U3_gggg(T43, T45, T46, T44, memberD_out_ggg(T43, T45, T46)) → pC_out_gggg(T43, T45, T46, T44)
pC_in_gggg(T43, T117, T118, []) → U4_gggg(T43, T117, T118, memberD_in_ggg(T43, T117, T118))
U4_gggg(T43, T117, T118, memberD_out_ggg(T43, T117, T118)) → pC_out_gggg(T43, T117, T118, [])
pC_in_gggg(T43, T129, T130, .(T127, T128)) → U5_gggg(T43, T129, T130, T127, T128, memberD_in_ggg(T43, T129, T130))
U5_gggg(T43, T129, T130, T127, T128, memberD_out_ggg(T43, T129, T130)) → U6_gggg(T43, T129, T130, T127, T128, pC_in_gggg(T127, T129, T130, T128))
U6_gggg(T43, T129, T130, T127, T128, pC_out_gggg(T127, T129, T130, T128)) → pC_out_gggg(T43, T129, T130, .(T127, T128))
U10_gg(T43, T44, T45, T46, pC_out_gggg(T43, T45, T46, T44)) → perm1E_out_gg(.(T43, T44), .(T45, T46))

The argument filtering Pi contains the following mapping:
perm1E_in_gg(x1, x2)  =  perm1E_in_gg(x1, x2)
[]  =  []
perm1E_out_gg(x1, x2)  =  perm1E_out_gg
.(x1, x2)  =  .(x1, x2)
U8_gg(x1, x2, x3, x4, x5)  =  U8_gg(x5)
eq_len1A_in_gg(x1, x2)  =  eq_len1A_in_gg(x1, x2)
eq_len1A_out_gg(x1, x2)  =  eq_len1A_out_gg
U1_gg(x1, x2, x3, x4, x5)  =  U1_gg(x5)
U9_gg(x1, x2, x3, x4, x5)  =  U9_gg(x1, x2, x3, x4, x5)
U10_gg(x1, x2, x3, x4, x5)  =  U10_gg(x5)
pC_in_gggg(x1, x2, x3, x4)  =  pC_in_gggg(x1, x2, x3, x4)
U3_gggg(x1, x2, x3, x4, x5)  =  U3_gggg(x5)
memberD_in_ggg(x1, x2, x3)  =  memberD_in_ggg(x1, x2, x3)
memberD_out_ggg(x1, x2, x3)  =  memberD_out_ggg
U7_ggg(x1, x2, x3, x4)  =  U7_ggg(x4)
memberB_in_gg(x1, x2)  =  memberB_in_gg(x1, x2)
memberB_out_gg(x1, x2)  =  memberB_out_gg
U2_gg(x1, x2, x3, x4)  =  U2_gg(x4)
pC_out_gggg(x1, x2, x3, x4)  =  pC_out_gggg
U4_gggg(x1, x2, x3, x4)  =  U4_gggg(x4)
U5_gggg(x1, x2, x3, x4, x5, x6)  =  U5_gggg(x2, x3, x4, x5, x6)
U6_gggg(x1, x2, x3, x4, x5, x6)  =  U6_gggg(x6)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

perm1E_in_gg([], []) → perm1E_out_gg([], [])
perm1E_in_gg(.(T15, T16), .(T17, T18)) → U8_gg(T15, T16, T17, T18, eq_len1A_in_gg(T16, T18))
eq_len1A_in_gg([], []) → eq_len1A_out_gg([], [])
eq_len1A_in_gg(.(T27, T28), .(T29, T30)) → U1_gg(T27, T28, T29, T30, eq_len1A_in_gg(T28, T30))
U1_gg(T27, T28, T29, T30, eq_len1A_out_gg(T28, T30)) → eq_len1A_out_gg(.(T27, T28), .(T29, T30))
U8_gg(T15, T16, T17, T18, eq_len1A_out_gg(T16, T18)) → perm1E_out_gg(.(T15, T16), .(T17, T18))
perm1E_in_gg(.(T43, T44), .(T45, T46)) → U9_gg(T43, T44, T45, T46, eq_len1A_in_gg(T44, T46))
U9_gg(T43, T44, T45, T46, eq_len1A_out_gg(T44, T46)) → U10_gg(T43, T44, T45, T46, pC_in_gggg(T43, T45, T46, T44))
pC_in_gggg(T43, T45, T46, T44) → U3_gggg(T43, T45, T46, T44, memberD_in_ggg(T43, T45, T46))
memberD_in_ggg(T63, T63, T64) → memberD_out_ggg(T63, T63, T64)
memberD_in_ggg(T75, T76, T77) → U7_ggg(T75, T76, T77, memberB_in_gg(T75, T77))
memberB_in_gg(T90, .(T90, T91)) → memberB_out_gg(T90, .(T90, T91))
memberB_in_gg(T98, .(T99, T100)) → U2_gg(T98, T99, T100, memberB_in_gg(T98, T100))
U2_gg(T98, T99, T100, memberB_out_gg(T98, T100)) → memberB_out_gg(T98, .(T99, T100))
U7_ggg(T75, T76, T77, memberB_out_gg(T75, T77)) → memberD_out_ggg(T75, T76, T77)
U3_gggg(T43, T45, T46, T44, memberD_out_ggg(T43, T45, T46)) → pC_out_gggg(T43, T45, T46, T44)
pC_in_gggg(T43, T117, T118, []) → U4_gggg(T43, T117, T118, memberD_in_ggg(T43, T117, T118))
U4_gggg(T43, T117, T118, memberD_out_ggg(T43, T117, T118)) → pC_out_gggg(T43, T117, T118, [])
pC_in_gggg(T43, T129, T130, .(T127, T128)) → U5_gggg(T43, T129, T130, T127, T128, memberD_in_ggg(T43, T129, T130))
U5_gggg(T43, T129, T130, T127, T128, memberD_out_ggg(T43, T129, T130)) → U6_gggg(T43, T129, T130, T127, T128, pC_in_gggg(T127, T129, T130, T128))
U6_gggg(T43, T129, T130, T127, T128, pC_out_gggg(T127, T129, T130, T128)) → pC_out_gggg(T43, T129, T130, .(T127, T128))
U10_gg(T43, T44, T45, T46, pC_out_gggg(T43, T45, T46, T44)) → perm1E_out_gg(.(T43, T44), .(T45, T46))

The argument filtering Pi contains the following mapping:
perm1E_in_gg(x1, x2)  =  perm1E_in_gg(x1, x2)
[]  =  []
perm1E_out_gg(x1, x2)  =  perm1E_out_gg
.(x1, x2)  =  .(x1, x2)
U8_gg(x1, x2, x3, x4, x5)  =  U8_gg(x5)
eq_len1A_in_gg(x1, x2)  =  eq_len1A_in_gg(x1, x2)
eq_len1A_out_gg(x1, x2)  =  eq_len1A_out_gg
U1_gg(x1, x2, x3, x4, x5)  =  U1_gg(x5)
U9_gg(x1, x2, x3, x4, x5)  =  U9_gg(x1, x2, x3, x4, x5)
U10_gg(x1, x2, x3, x4, x5)  =  U10_gg(x5)
pC_in_gggg(x1, x2, x3, x4)  =  pC_in_gggg(x1, x2, x3, x4)
U3_gggg(x1, x2, x3, x4, x5)  =  U3_gggg(x5)
memberD_in_ggg(x1, x2, x3)  =  memberD_in_ggg(x1, x2, x3)
memberD_out_ggg(x1, x2, x3)  =  memberD_out_ggg
U7_ggg(x1, x2, x3, x4)  =  U7_ggg(x4)
memberB_in_gg(x1, x2)  =  memberB_in_gg(x1, x2)
memberB_out_gg(x1, x2)  =  memberB_out_gg
U2_gg(x1, x2, x3, x4)  =  U2_gg(x4)
pC_out_gggg(x1, x2, x3, x4)  =  pC_out_gggg
U4_gggg(x1, x2, x3, x4)  =  U4_gggg(x4)
U5_gggg(x1, x2, x3, x4, x5, x6)  =  U5_gggg(x2, x3, x4, x5, x6)
U6_gggg(x1, x2, x3, x4, x5, x6)  =  U6_gggg(x6)

(5) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

PERM1E_IN_GG(.(T15, T16), .(T17, T18)) → U8_GG(T15, T16, T17, T18, eq_len1A_in_gg(T16, T18))
PERM1E_IN_GG(.(T15, T16), .(T17, T18)) → EQ_LEN1A_IN_GG(T16, T18)
EQ_LEN1A_IN_GG(.(T27, T28), .(T29, T30)) → U1_GG(T27, T28, T29, T30, eq_len1A_in_gg(T28, T30))
EQ_LEN1A_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN1A_IN_GG(T28, T30)
PERM1E_IN_GG(.(T43, T44), .(T45, T46)) → U9_GG(T43, T44, T45, T46, eq_len1A_in_gg(T44, T46))
U9_GG(T43, T44, T45, T46, eq_len1A_out_gg(T44, T46)) → U10_GG(T43, T44, T45, T46, pC_in_gggg(T43, T45, T46, T44))
U9_GG(T43, T44, T45, T46, eq_len1A_out_gg(T44, T46)) → PC_IN_GGGG(T43, T45, T46, T44)
PC_IN_GGGG(T43, T45, T46, T44) → U3_GGGG(T43, T45, T46, T44, memberD_in_ggg(T43, T45, T46))
PC_IN_GGGG(T43, T45, T46, T44) → MEMBERD_IN_GGG(T43, T45, T46)
MEMBERD_IN_GGG(T75, T76, T77) → U7_GGG(T75, T76, T77, memberB_in_gg(T75, T77))
MEMBERD_IN_GGG(T75, T76, T77) → MEMBERB_IN_GG(T75, T77)
MEMBERB_IN_GG(T98, .(T99, T100)) → U2_GG(T98, T99, T100, memberB_in_gg(T98, T100))
MEMBERB_IN_GG(T98, .(T99, T100)) → MEMBERB_IN_GG(T98, T100)
PC_IN_GGGG(T43, T117, T118, []) → U4_GGGG(T43, T117, T118, memberD_in_ggg(T43, T117, T118))
PC_IN_GGGG(T43, T117, T118, []) → MEMBERD_IN_GGG(T43, T117, T118)
PC_IN_GGGG(T43, T129, T130, .(T127, T128)) → U5_GGGG(T43, T129, T130, T127, T128, memberD_in_ggg(T43, T129, T130))
PC_IN_GGGG(T43, T129, T130, .(T127, T128)) → MEMBERD_IN_GGG(T43, T129, T130)
U5_GGGG(T43, T129, T130, T127, T128, memberD_out_ggg(T43, T129, T130)) → U6_GGGG(T43, T129, T130, T127, T128, pC_in_gggg(T127, T129, T130, T128))
U5_GGGG(T43, T129, T130, T127, T128, memberD_out_ggg(T43, T129, T130)) → PC_IN_GGGG(T127, T129, T130, T128)

The TRS R consists of the following rules:

perm1E_in_gg([], []) → perm1E_out_gg([], [])
perm1E_in_gg(.(T15, T16), .(T17, T18)) → U8_gg(T15, T16, T17, T18, eq_len1A_in_gg(T16, T18))
eq_len1A_in_gg([], []) → eq_len1A_out_gg([], [])
eq_len1A_in_gg(.(T27, T28), .(T29, T30)) → U1_gg(T27, T28, T29, T30, eq_len1A_in_gg(T28, T30))
U1_gg(T27, T28, T29, T30, eq_len1A_out_gg(T28, T30)) → eq_len1A_out_gg(.(T27, T28), .(T29, T30))
U8_gg(T15, T16, T17, T18, eq_len1A_out_gg(T16, T18)) → perm1E_out_gg(.(T15, T16), .(T17, T18))
perm1E_in_gg(.(T43, T44), .(T45, T46)) → U9_gg(T43, T44, T45, T46, eq_len1A_in_gg(T44, T46))
U9_gg(T43, T44, T45, T46, eq_len1A_out_gg(T44, T46)) → U10_gg(T43, T44, T45, T46, pC_in_gggg(T43, T45, T46, T44))
pC_in_gggg(T43, T45, T46, T44) → U3_gggg(T43, T45, T46, T44, memberD_in_ggg(T43, T45, T46))
memberD_in_ggg(T63, T63, T64) → memberD_out_ggg(T63, T63, T64)
memberD_in_ggg(T75, T76, T77) → U7_ggg(T75, T76, T77, memberB_in_gg(T75, T77))
memberB_in_gg(T90, .(T90, T91)) → memberB_out_gg(T90, .(T90, T91))
memberB_in_gg(T98, .(T99, T100)) → U2_gg(T98, T99, T100, memberB_in_gg(T98, T100))
U2_gg(T98, T99, T100, memberB_out_gg(T98, T100)) → memberB_out_gg(T98, .(T99, T100))
U7_ggg(T75, T76, T77, memberB_out_gg(T75, T77)) → memberD_out_ggg(T75, T76, T77)
U3_gggg(T43, T45, T46, T44, memberD_out_ggg(T43, T45, T46)) → pC_out_gggg(T43, T45, T46, T44)
pC_in_gggg(T43, T117, T118, []) → U4_gggg(T43, T117, T118, memberD_in_ggg(T43, T117, T118))
U4_gggg(T43, T117, T118, memberD_out_ggg(T43, T117, T118)) → pC_out_gggg(T43, T117, T118, [])
pC_in_gggg(T43, T129, T130, .(T127, T128)) → U5_gggg(T43, T129, T130, T127, T128, memberD_in_ggg(T43, T129, T130))
U5_gggg(T43, T129, T130, T127, T128, memberD_out_ggg(T43, T129, T130)) → U6_gggg(T43, T129, T130, T127, T128, pC_in_gggg(T127, T129, T130, T128))
U6_gggg(T43, T129, T130, T127, T128, pC_out_gggg(T127, T129, T130, T128)) → pC_out_gggg(T43, T129, T130, .(T127, T128))
U10_gg(T43, T44, T45, T46, pC_out_gggg(T43, T45, T46, T44)) → perm1E_out_gg(.(T43, T44), .(T45, T46))

The argument filtering Pi contains the following mapping:
perm1E_in_gg(x1, x2)  =  perm1E_in_gg(x1, x2)
[]  =  []
perm1E_out_gg(x1, x2)  =  perm1E_out_gg
.(x1, x2)  =  .(x1, x2)
U8_gg(x1, x2, x3, x4, x5)  =  U8_gg(x5)
eq_len1A_in_gg(x1, x2)  =  eq_len1A_in_gg(x1, x2)
eq_len1A_out_gg(x1, x2)  =  eq_len1A_out_gg
U1_gg(x1, x2, x3, x4, x5)  =  U1_gg(x5)
U9_gg(x1, x2, x3, x4, x5)  =  U9_gg(x1, x2, x3, x4, x5)
U10_gg(x1, x2, x3, x4, x5)  =  U10_gg(x5)
pC_in_gggg(x1, x2, x3, x4)  =  pC_in_gggg(x1, x2, x3, x4)
U3_gggg(x1, x2, x3, x4, x5)  =  U3_gggg(x5)
memberD_in_ggg(x1, x2, x3)  =  memberD_in_ggg(x1, x2, x3)
memberD_out_ggg(x1, x2, x3)  =  memberD_out_ggg
U7_ggg(x1, x2, x3, x4)  =  U7_ggg(x4)
memberB_in_gg(x1, x2)  =  memberB_in_gg(x1, x2)
memberB_out_gg(x1, x2)  =  memberB_out_gg
U2_gg(x1, x2, x3, x4)  =  U2_gg(x4)
pC_out_gggg(x1, x2, x3, x4)  =  pC_out_gggg
U4_gggg(x1, x2, x3, x4)  =  U4_gggg(x4)
U5_gggg(x1, x2, x3, x4, x5, x6)  =  U5_gggg(x2, x3, x4, x5, x6)
U6_gggg(x1, x2, x3, x4, x5, x6)  =  U6_gggg(x6)
PERM1E_IN_GG(x1, x2)  =  PERM1E_IN_GG(x1, x2)
U8_GG(x1, x2, x3, x4, x5)  =  U8_GG(x5)
EQ_LEN1A_IN_GG(x1, x2)  =  EQ_LEN1A_IN_GG(x1, x2)
U1_GG(x1, x2, x3, x4, x5)  =  U1_GG(x5)
U9_GG(x1, x2, x3, x4, x5)  =  U9_GG(x1, x2, x3, x4, x5)
U10_GG(x1, x2, x3, x4, x5)  =  U10_GG(x5)
PC_IN_GGGG(x1, x2, x3, x4)  =  PC_IN_GGGG(x1, x2, x3, x4)
U3_GGGG(x1, x2, x3, x4, x5)  =  U3_GGGG(x5)
MEMBERD_IN_GGG(x1, x2, x3)  =  MEMBERD_IN_GGG(x1, x2, x3)
U7_GGG(x1, x2, x3, x4)  =  U7_GGG(x4)
MEMBERB_IN_GG(x1, x2)  =  MEMBERB_IN_GG(x1, x2)
U2_GG(x1, x2, x3, x4)  =  U2_GG(x4)
U4_GGGG(x1, x2, x3, x4)  =  U4_GGGG(x4)
U5_GGGG(x1, x2, x3, x4, x5, x6)  =  U5_GGGG(x2, x3, x4, x5, x6)
U6_GGGG(x1, x2, x3, x4, x5, x6)  =  U6_GGGG(x6)

We have to consider all (P,R,Pi)-chains

(6) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

PERM1E_IN_GG(.(T15, T16), .(T17, T18)) → U8_GG(T15, T16, T17, T18, eq_len1A_in_gg(T16, T18))
PERM1E_IN_GG(.(T15, T16), .(T17, T18)) → EQ_LEN1A_IN_GG(T16, T18)
EQ_LEN1A_IN_GG(.(T27, T28), .(T29, T30)) → U1_GG(T27, T28, T29, T30, eq_len1A_in_gg(T28, T30))
EQ_LEN1A_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN1A_IN_GG(T28, T30)
PERM1E_IN_GG(.(T43, T44), .(T45, T46)) → U9_GG(T43, T44, T45, T46, eq_len1A_in_gg(T44, T46))
U9_GG(T43, T44, T45, T46, eq_len1A_out_gg(T44, T46)) → U10_GG(T43, T44, T45, T46, pC_in_gggg(T43, T45, T46, T44))
U9_GG(T43, T44, T45, T46, eq_len1A_out_gg(T44, T46)) → PC_IN_GGGG(T43, T45, T46, T44)
PC_IN_GGGG(T43, T45, T46, T44) → U3_GGGG(T43, T45, T46, T44, memberD_in_ggg(T43, T45, T46))
PC_IN_GGGG(T43, T45, T46, T44) → MEMBERD_IN_GGG(T43, T45, T46)
MEMBERD_IN_GGG(T75, T76, T77) → U7_GGG(T75, T76, T77, memberB_in_gg(T75, T77))
MEMBERD_IN_GGG(T75, T76, T77) → MEMBERB_IN_GG(T75, T77)
MEMBERB_IN_GG(T98, .(T99, T100)) → U2_GG(T98, T99, T100, memberB_in_gg(T98, T100))
MEMBERB_IN_GG(T98, .(T99, T100)) → MEMBERB_IN_GG(T98, T100)
PC_IN_GGGG(T43, T117, T118, []) → U4_GGGG(T43, T117, T118, memberD_in_ggg(T43, T117, T118))
PC_IN_GGGG(T43, T117, T118, []) → MEMBERD_IN_GGG(T43, T117, T118)
PC_IN_GGGG(T43, T129, T130, .(T127, T128)) → U5_GGGG(T43, T129, T130, T127, T128, memberD_in_ggg(T43, T129, T130))
PC_IN_GGGG(T43, T129, T130, .(T127, T128)) → MEMBERD_IN_GGG(T43, T129, T130)
U5_GGGG(T43, T129, T130, T127, T128, memberD_out_ggg(T43, T129, T130)) → U6_GGGG(T43, T129, T130, T127, T128, pC_in_gggg(T127, T129, T130, T128))
U5_GGGG(T43, T129, T130, T127, T128, memberD_out_ggg(T43, T129, T130)) → PC_IN_GGGG(T127, T129, T130, T128)

The TRS R consists of the following rules:

perm1E_in_gg([], []) → perm1E_out_gg([], [])
perm1E_in_gg(.(T15, T16), .(T17, T18)) → U8_gg(T15, T16, T17, T18, eq_len1A_in_gg(T16, T18))
eq_len1A_in_gg([], []) → eq_len1A_out_gg([], [])
eq_len1A_in_gg(.(T27, T28), .(T29, T30)) → U1_gg(T27, T28, T29, T30, eq_len1A_in_gg(T28, T30))
U1_gg(T27, T28, T29, T30, eq_len1A_out_gg(T28, T30)) → eq_len1A_out_gg(.(T27, T28), .(T29, T30))
U8_gg(T15, T16, T17, T18, eq_len1A_out_gg(T16, T18)) → perm1E_out_gg(.(T15, T16), .(T17, T18))
perm1E_in_gg(.(T43, T44), .(T45, T46)) → U9_gg(T43, T44, T45, T46, eq_len1A_in_gg(T44, T46))
U9_gg(T43, T44, T45, T46, eq_len1A_out_gg(T44, T46)) → U10_gg(T43, T44, T45, T46, pC_in_gggg(T43, T45, T46, T44))
pC_in_gggg(T43, T45, T46, T44) → U3_gggg(T43, T45, T46, T44, memberD_in_ggg(T43, T45, T46))
memberD_in_ggg(T63, T63, T64) → memberD_out_ggg(T63, T63, T64)
memberD_in_ggg(T75, T76, T77) → U7_ggg(T75, T76, T77, memberB_in_gg(T75, T77))
memberB_in_gg(T90, .(T90, T91)) → memberB_out_gg(T90, .(T90, T91))
memberB_in_gg(T98, .(T99, T100)) → U2_gg(T98, T99, T100, memberB_in_gg(T98, T100))
U2_gg(T98, T99, T100, memberB_out_gg(T98, T100)) → memberB_out_gg(T98, .(T99, T100))
U7_ggg(T75, T76, T77, memberB_out_gg(T75, T77)) → memberD_out_ggg(T75, T76, T77)
U3_gggg(T43, T45, T46, T44, memberD_out_ggg(T43, T45, T46)) → pC_out_gggg(T43, T45, T46, T44)
pC_in_gggg(T43, T117, T118, []) → U4_gggg(T43, T117, T118, memberD_in_ggg(T43, T117, T118))
U4_gggg(T43, T117, T118, memberD_out_ggg(T43, T117, T118)) → pC_out_gggg(T43, T117, T118, [])
pC_in_gggg(T43, T129, T130, .(T127, T128)) → U5_gggg(T43, T129, T130, T127, T128, memberD_in_ggg(T43, T129, T130))
U5_gggg(T43, T129, T130, T127, T128, memberD_out_ggg(T43, T129, T130)) → U6_gggg(T43, T129, T130, T127, T128, pC_in_gggg(T127, T129, T130, T128))
U6_gggg(T43, T129, T130, T127, T128, pC_out_gggg(T127, T129, T130, T128)) → pC_out_gggg(T43, T129, T130, .(T127, T128))
U10_gg(T43, T44, T45, T46, pC_out_gggg(T43, T45, T46, T44)) → perm1E_out_gg(.(T43, T44), .(T45, T46))

The argument filtering Pi contains the following mapping:
perm1E_in_gg(x1, x2)  =  perm1E_in_gg(x1, x2)
[]  =  []
perm1E_out_gg(x1, x2)  =  perm1E_out_gg
.(x1, x2)  =  .(x1, x2)
U8_gg(x1, x2, x3, x4, x5)  =  U8_gg(x5)
eq_len1A_in_gg(x1, x2)  =  eq_len1A_in_gg(x1, x2)
eq_len1A_out_gg(x1, x2)  =  eq_len1A_out_gg
U1_gg(x1, x2, x3, x4, x5)  =  U1_gg(x5)
U9_gg(x1, x2, x3, x4, x5)  =  U9_gg(x1, x2, x3, x4, x5)
U10_gg(x1, x2, x3, x4, x5)  =  U10_gg(x5)
pC_in_gggg(x1, x2, x3, x4)  =  pC_in_gggg(x1, x2, x3, x4)
U3_gggg(x1, x2, x3, x4, x5)  =  U3_gggg(x5)
memberD_in_ggg(x1, x2, x3)  =  memberD_in_ggg(x1, x2, x3)
memberD_out_ggg(x1, x2, x3)  =  memberD_out_ggg
U7_ggg(x1, x2, x3, x4)  =  U7_ggg(x4)
memberB_in_gg(x1, x2)  =  memberB_in_gg(x1, x2)
memberB_out_gg(x1, x2)  =  memberB_out_gg
U2_gg(x1, x2, x3, x4)  =  U2_gg(x4)
pC_out_gggg(x1, x2, x3, x4)  =  pC_out_gggg
U4_gggg(x1, x2, x3, x4)  =  U4_gggg(x4)
U5_gggg(x1, x2, x3, x4, x5, x6)  =  U5_gggg(x2, x3, x4, x5, x6)
U6_gggg(x1, x2, x3, x4, x5, x6)  =  U6_gggg(x6)
PERM1E_IN_GG(x1, x2)  =  PERM1E_IN_GG(x1, x2)
U8_GG(x1, x2, x3, x4, x5)  =  U8_GG(x5)
EQ_LEN1A_IN_GG(x1, x2)  =  EQ_LEN1A_IN_GG(x1, x2)
U1_GG(x1, x2, x3, x4, x5)  =  U1_GG(x5)
U9_GG(x1, x2, x3, x4, x5)  =  U9_GG(x1, x2, x3, x4, x5)
U10_GG(x1, x2, x3, x4, x5)  =  U10_GG(x5)
PC_IN_GGGG(x1, x2, x3, x4)  =  PC_IN_GGGG(x1, x2, x3, x4)
U3_GGGG(x1, x2, x3, x4, x5)  =  U3_GGGG(x5)
MEMBERD_IN_GGG(x1, x2, x3)  =  MEMBERD_IN_GGG(x1, x2, x3)
U7_GGG(x1, x2, x3, x4)  =  U7_GGG(x4)
MEMBERB_IN_GG(x1, x2)  =  MEMBERB_IN_GG(x1, x2)
U2_GG(x1, x2, x3, x4)  =  U2_GG(x4)
U4_GGGG(x1, x2, x3, x4)  =  U4_GGGG(x4)
U5_GGGG(x1, x2, x3, x4, x5, x6)  =  U5_GGGG(x2, x3, x4, x5, x6)
U6_GGGG(x1, x2, x3, x4, x5, x6)  =  U6_GGGG(x6)

We have to consider all (P,R,Pi)-chains

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 15 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MEMBERB_IN_GG(T98, .(T99, T100)) → MEMBERB_IN_GG(T98, T100)

The TRS R consists of the following rules:

perm1E_in_gg([], []) → perm1E_out_gg([], [])
perm1E_in_gg(.(T15, T16), .(T17, T18)) → U8_gg(T15, T16, T17, T18, eq_len1A_in_gg(T16, T18))
eq_len1A_in_gg([], []) → eq_len1A_out_gg([], [])
eq_len1A_in_gg(.(T27, T28), .(T29, T30)) → U1_gg(T27, T28, T29, T30, eq_len1A_in_gg(T28, T30))
U1_gg(T27, T28, T29, T30, eq_len1A_out_gg(T28, T30)) → eq_len1A_out_gg(.(T27, T28), .(T29, T30))
U8_gg(T15, T16, T17, T18, eq_len1A_out_gg(T16, T18)) → perm1E_out_gg(.(T15, T16), .(T17, T18))
perm1E_in_gg(.(T43, T44), .(T45, T46)) → U9_gg(T43, T44, T45, T46, eq_len1A_in_gg(T44, T46))
U9_gg(T43, T44, T45, T46, eq_len1A_out_gg(T44, T46)) → U10_gg(T43, T44, T45, T46, pC_in_gggg(T43, T45, T46, T44))
pC_in_gggg(T43, T45, T46, T44) → U3_gggg(T43, T45, T46, T44, memberD_in_ggg(T43, T45, T46))
memberD_in_ggg(T63, T63, T64) → memberD_out_ggg(T63, T63, T64)
memberD_in_ggg(T75, T76, T77) → U7_ggg(T75, T76, T77, memberB_in_gg(T75, T77))
memberB_in_gg(T90, .(T90, T91)) → memberB_out_gg(T90, .(T90, T91))
memberB_in_gg(T98, .(T99, T100)) → U2_gg(T98, T99, T100, memberB_in_gg(T98, T100))
U2_gg(T98, T99, T100, memberB_out_gg(T98, T100)) → memberB_out_gg(T98, .(T99, T100))
U7_ggg(T75, T76, T77, memberB_out_gg(T75, T77)) → memberD_out_ggg(T75, T76, T77)
U3_gggg(T43, T45, T46, T44, memberD_out_ggg(T43, T45, T46)) → pC_out_gggg(T43, T45, T46, T44)
pC_in_gggg(T43, T117, T118, []) → U4_gggg(T43, T117, T118, memberD_in_ggg(T43, T117, T118))
U4_gggg(T43, T117, T118, memberD_out_ggg(T43, T117, T118)) → pC_out_gggg(T43, T117, T118, [])
pC_in_gggg(T43, T129, T130, .(T127, T128)) → U5_gggg(T43, T129, T130, T127, T128, memberD_in_ggg(T43, T129, T130))
U5_gggg(T43, T129, T130, T127, T128, memberD_out_ggg(T43, T129, T130)) → U6_gggg(T43, T129, T130, T127, T128, pC_in_gggg(T127, T129, T130, T128))
U6_gggg(T43, T129, T130, T127, T128, pC_out_gggg(T127, T129, T130, T128)) → pC_out_gggg(T43, T129, T130, .(T127, T128))
U10_gg(T43, T44, T45, T46, pC_out_gggg(T43, T45, T46, T44)) → perm1E_out_gg(.(T43, T44), .(T45, T46))

The argument filtering Pi contains the following mapping:
perm1E_in_gg(x1, x2)  =  perm1E_in_gg(x1, x2)
[]  =  []
perm1E_out_gg(x1, x2)  =  perm1E_out_gg
.(x1, x2)  =  .(x1, x2)
U8_gg(x1, x2, x3, x4, x5)  =  U8_gg(x5)
eq_len1A_in_gg(x1, x2)  =  eq_len1A_in_gg(x1, x2)
eq_len1A_out_gg(x1, x2)  =  eq_len1A_out_gg
U1_gg(x1, x2, x3, x4, x5)  =  U1_gg(x5)
U9_gg(x1, x2, x3, x4, x5)  =  U9_gg(x1, x2, x3, x4, x5)
U10_gg(x1, x2, x3, x4, x5)  =  U10_gg(x5)
pC_in_gggg(x1, x2, x3, x4)  =  pC_in_gggg(x1, x2, x3, x4)
U3_gggg(x1, x2, x3, x4, x5)  =  U3_gggg(x5)
memberD_in_ggg(x1, x2, x3)  =  memberD_in_ggg(x1, x2, x3)
memberD_out_ggg(x1, x2, x3)  =  memberD_out_ggg
U7_ggg(x1, x2, x3, x4)  =  U7_ggg(x4)
memberB_in_gg(x1, x2)  =  memberB_in_gg(x1, x2)
memberB_out_gg(x1, x2)  =  memberB_out_gg
U2_gg(x1, x2, x3, x4)  =  U2_gg(x4)
pC_out_gggg(x1, x2, x3, x4)  =  pC_out_gggg
U4_gggg(x1, x2, x3, x4)  =  U4_gggg(x4)
U5_gggg(x1, x2, x3, x4, x5, x6)  =  U5_gggg(x2, x3, x4, x5, x6)
U6_gggg(x1, x2, x3, x4, x5, x6)  =  U6_gggg(x6)
MEMBERB_IN_GG(x1, x2)  =  MEMBERB_IN_GG(x1, x2)

We have to consider all (P,R,Pi)-chains

(10) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(11) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MEMBERB_IN_GG(T98, .(T99, T100)) → MEMBERB_IN_GG(T98, T100)

R is empty.
Pi is empty.
We have to consider all (P,R,Pi)-chains

(12) PiDPToQDPProof (EQUIVALENT transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

MEMBERB_IN_GG(T98, .(T99, T100)) → MEMBERB_IN_GG(T98, T100)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(14) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • MEMBERB_IN_GG(T98, .(T99, T100)) → MEMBERB_IN_GG(T98, T100)
    The graph contains the following edges 1 >= 1, 2 > 2

(15) YES

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

PC_IN_GGGG(T43, T129, T130, .(T127, T128)) → U5_GGGG(T43, T129, T130, T127, T128, memberD_in_ggg(T43, T129, T130))
U5_GGGG(T43, T129, T130, T127, T128, memberD_out_ggg(T43, T129, T130)) → PC_IN_GGGG(T127, T129, T130, T128)

The TRS R consists of the following rules:

perm1E_in_gg([], []) → perm1E_out_gg([], [])
perm1E_in_gg(.(T15, T16), .(T17, T18)) → U8_gg(T15, T16, T17, T18, eq_len1A_in_gg(T16, T18))
eq_len1A_in_gg([], []) → eq_len1A_out_gg([], [])
eq_len1A_in_gg(.(T27, T28), .(T29, T30)) → U1_gg(T27, T28, T29, T30, eq_len1A_in_gg(T28, T30))
U1_gg(T27, T28, T29, T30, eq_len1A_out_gg(T28, T30)) → eq_len1A_out_gg(.(T27, T28), .(T29, T30))
U8_gg(T15, T16, T17, T18, eq_len1A_out_gg(T16, T18)) → perm1E_out_gg(.(T15, T16), .(T17, T18))
perm1E_in_gg(.(T43, T44), .(T45, T46)) → U9_gg(T43, T44, T45, T46, eq_len1A_in_gg(T44, T46))
U9_gg(T43, T44, T45, T46, eq_len1A_out_gg(T44, T46)) → U10_gg(T43, T44, T45, T46, pC_in_gggg(T43, T45, T46, T44))
pC_in_gggg(T43, T45, T46, T44) → U3_gggg(T43, T45, T46, T44, memberD_in_ggg(T43, T45, T46))
memberD_in_ggg(T63, T63, T64) → memberD_out_ggg(T63, T63, T64)
memberD_in_ggg(T75, T76, T77) → U7_ggg(T75, T76, T77, memberB_in_gg(T75, T77))
memberB_in_gg(T90, .(T90, T91)) → memberB_out_gg(T90, .(T90, T91))
memberB_in_gg(T98, .(T99, T100)) → U2_gg(T98, T99, T100, memberB_in_gg(T98, T100))
U2_gg(T98, T99, T100, memberB_out_gg(T98, T100)) → memberB_out_gg(T98, .(T99, T100))
U7_ggg(T75, T76, T77, memberB_out_gg(T75, T77)) → memberD_out_ggg(T75, T76, T77)
U3_gggg(T43, T45, T46, T44, memberD_out_ggg(T43, T45, T46)) → pC_out_gggg(T43, T45, T46, T44)
pC_in_gggg(T43, T117, T118, []) → U4_gggg(T43, T117, T118, memberD_in_ggg(T43, T117, T118))
U4_gggg(T43, T117, T118, memberD_out_ggg(T43, T117, T118)) → pC_out_gggg(T43, T117, T118, [])
pC_in_gggg(T43, T129, T130, .(T127, T128)) → U5_gggg(T43, T129, T130, T127, T128, memberD_in_ggg(T43, T129, T130))
U5_gggg(T43, T129, T130, T127, T128, memberD_out_ggg(T43, T129, T130)) → U6_gggg(T43, T129, T130, T127, T128, pC_in_gggg(T127, T129, T130, T128))
U6_gggg(T43, T129, T130, T127, T128, pC_out_gggg(T127, T129, T130, T128)) → pC_out_gggg(T43, T129, T130, .(T127, T128))
U10_gg(T43, T44, T45, T46, pC_out_gggg(T43, T45, T46, T44)) → perm1E_out_gg(.(T43, T44), .(T45, T46))

The argument filtering Pi contains the following mapping:
perm1E_in_gg(x1, x2)  =  perm1E_in_gg(x1, x2)
[]  =  []
perm1E_out_gg(x1, x2)  =  perm1E_out_gg
.(x1, x2)  =  .(x1, x2)
U8_gg(x1, x2, x3, x4, x5)  =  U8_gg(x5)
eq_len1A_in_gg(x1, x2)  =  eq_len1A_in_gg(x1, x2)
eq_len1A_out_gg(x1, x2)  =  eq_len1A_out_gg
U1_gg(x1, x2, x3, x4, x5)  =  U1_gg(x5)
U9_gg(x1, x2, x3, x4, x5)  =  U9_gg(x1, x2, x3, x4, x5)
U10_gg(x1, x2, x3, x4, x5)  =  U10_gg(x5)
pC_in_gggg(x1, x2, x3, x4)  =  pC_in_gggg(x1, x2, x3, x4)
U3_gggg(x1, x2, x3, x4, x5)  =  U3_gggg(x5)
memberD_in_ggg(x1, x2, x3)  =  memberD_in_ggg(x1, x2, x3)
memberD_out_ggg(x1, x2, x3)  =  memberD_out_ggg
U7_ggg(x1, x2, x3, x4)  =  U7_ggg(x4)
memberB_in_gg(x1, x2)  =  memberB_in_gg(x1, x2)
memberB_out_gg(x1, x2)  =  memberB_out_gg
U2_gg(x1, x2, x3, x4)  =  U2_gg(x4)
pC_out_gggg(x1, x2, x3, x4)  =  pC_out_gggg
U4_gggg(x1, x2, x3, x4)  =  U4_gggg(x4)
U5_gggg(x1, x2, x3, x4, x5, x6)  =  U5_gggg(x2, x3, x4, x5, x6)
U6_gggg(x1, x2, x3, x4, x5, x6)  =  U6_gggg(x6)
PC_IN_GGGG(x1, x2, x3, x4)  =  PC_IN_GGGG(x1, x2, x3, x4)
U5_GGGG(x1, x2, x3, x4, x5, x6)  =  U5_GGGG(x2, x3, x4, x5, x6)

We have to consider all (P,R,Pi)-chains

(17) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(18) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

PC_IN_GGGG(T43, T129, T130, .(T127, T128)) → U5_GGGG(T43, T129, T130, T127, T128, memberD_in_ggg(T43, T129, T130))
U5_GGGG(T43, T129, T130, T127, T128, memberD_out_ggg(T43, T129, T130)) → PC_IN_GGGG(T127, T129, T130, T128)

The TRS R consists of the following rules:

memberD_in_ggg(T63, T63, T64) → memberD_out_ggg(T63, T63, T64)
memberD_in_ggg(T75, T76, T77) → U7_ggg(T75, T76, T77, memberB_in_gg(T75, T77))
U7_ggg(T75, T76, T77, memberB_out_gg(T75, T77)) → memberD_out_ggg(T75, T76, T77)
memberB_in_gg(T90, .(T90, T91)) → memberB_out_gg(T90, .(T90, T91))
memberB_in_gg(T98, .(T99, T100)) → U2_gg(T98, T99, T100, memberB_in_gg(T98, T100))
U2_gg(T98, T99, T100, memberB_out_gg(T98, T100)) → memberB_out_gg(T98, .(T99, T100))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
memberD_in_ggg(x1, x2, x3)  =  memberD_in_ggg(x1, x2, x3)
memberD_out_ggg(x1, x2, x3)  =  memberD_out_ggg
U7_ggg(x1, x2, x3, x4)  =  U7_ggg(x4)
memberB_in_gg(x1, x2)  =  memberB_in_gg(x1, x2)
memberB_out_gg(x1, x2)  =  memberB_out_gg
U2_gg(x1, x2, x3, x4)  =  U2_gg(x4)
PC_IN_GGGG(x1, x2, x3, x4)  =  PC_IN_GGGG(x1, x2, x3, x4)
U5_GGGG(x1, x2, x3, x4, x5, x6)  =  U5_GGGG(x2, x3, x4, x5, x6)

We have to consider all (P,R,Pi)-chains

(19) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

PC_IN_GGGG(T43, T129, T130, .(T127, T128)) → U5_GGGG(T129, T130, T127, T128, memberD_in_ggg(T43, T129, T130))
U5_GGGG(T129, T130, T127, T128, memberD_out_ggg) → PC_IN_GGGG(T127, T129, T130, T128)

The TRS R consists of the following rules:

memberD_in_ggg(T63, T63, T64) → memberD_out_ggg
memberD_in_ggg(T75, T76, T77) → U7_ggg(memberB_in_gg(T75, T77))
U7_ggg(memberB_out_gg) → memberD_out_ggg
memberB_in_gg(T90, .(T90, T91)) → memberB_out_gg
memberB_in_gg(T98, .(T99, T100)) → U2_gg(memberB_in_gg(T98, T100))
U2_gg(memberB_out_gg) → memberB_out_gg

The set Q consists of the following terms:

memberD_in_ggg(x0, x1, x2)
U7_ggg(x0)
memberB_in_gg(x0, x1)
U2_gg(x0)

We have to consider all (P,Q,R)-chains.

(21) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • U5_GGGG(T129, T130, T127, T128, memberD_out_ggg) → PC_IN_GGGG(T127, T129, T130, T128)
    The graph contains the following edges 3 >= 1, 1 >= 2, 2 >= 3, 4 >= 4

  • PC_IN_GGGG(T43, T129, T130, .(T127, T128)) → U5_GGGG(T129, T130, T127, T128, memberD_in_ggg(T43, T129, T130))
    The graph contains the following edges 2 >= 1, 3 >= 2, 4 > 3, 4 > 4

(22) YES

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

EQ_LEN1A_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN1A_IN_GG(T28, T30)

The TRS R consists of the following rules:

perm1E_in_gg([], []) → perm1E_out_gg([], [])
perm1E_in_gg(.(T15, T16), .(T17, T18)) → U8_gg(T15, T16, T17, T18, eq_len1A_in_gg(T16, T18))
eq_len1A_in_gg([], []) → eq_len1A_out_gg([], [])
eq_len1A_in_gg(.(T27, T28), .(T29, T30)) → U1_gg(T27, T28, T29, T30, eq_len1A_in_gg(T28, T30))
U1_gg(T27, T28, T29, T30, eq_len1A_out_gg(T28, T30)) → eq_len1A_out_gg(.(T27, T28), .(T29, T30))
U8_gg(T15, T16, T17, T18, eq_len1A_out_gg(T16, T18)) → perm1E_out_gg(.(T15, T16), .(T17, T18))
perm1E_in_gg(.(T43, T44), .(T45, T46)) → U9_gg(T43, T44, T45, T46, eq_len1A_in_gg(T44, T46))
U9_gg(T43, T44, T45, T46, eq_len1A_out_gg(T44, T46)) → U10_gg(T43, T44, T45, T46, pC_in_gggg(T43, T45, T46, T44))
pC_in_gggg(T43, T45, T46, T44) → U3_gggg(T43, T45, T46, T44, memberD_in_ggg(T43, T45, T46))
memberD_in_ggg(T63, T63, T64) → memberD_out_ggg(T63, T63, T64)
memberD_in_ggg(T75, T76, T77) → U7_ggg(T75, T76, T77, memberB_in_gg(T75, T77))
memberB_in_gg(T90, .(T90, T91)) → memberB_out_gg(T90, .(T90, T91))
memberB_in_gg(T98, .(T99, T100)) → U2_gg(T98, T99, T100, memberB_in_gg(T98, T100))
U2_gg(T98, T99, T100, memberB_out_gg(T98, T100)) → memberB_out_gg(T98, .(T99, T100))
U7_ggg(T75, T76, T77, memberB_out_gg(T75, T77)) → memberD_out_ggg(T75, T76, T77)
U3_gggg(T43, T45, T46, T44, memberD_out_ggg(T43, T45, T46)) → pC_out_gggg(T43, T45, T46, T44)
pC_in_gggg(T43, T117, T118, []) → U4_gggg(T43, T117, T118, memberD_in_ggg(T43, T117, T118))
U4_gggg(T43, T117, T118, memberD_out_ggg(T43, T117, T118)) → pC_out_gggg(T43, T117, T118, [])
pC_in_gggg(T43, T129, T130, .(T127, T128)) → U5_gggg(T43, T129, T130, T127, T128, memberD_in_ggg(T43, T129, T130))
U5_gggg(T43, T129, T130, T127, T128, memberD_out_ggg(T43, T129, T130)) → U6_gggg(T43, T129, T130, T127, T128, pC_in_gggg(T127, T129, T130, T128))
U6_gggg(T43, T129, T130, T127, T128, pC_out_gggg(T127, T129, T130, T128)) → pC_out_gggg(T43, T129, T130, .(T127, T128))
U10_gg(T43, T44, T45, T46, pC_out_gggg(T43, T45, T46, T44)) → perm1E_out_gg(.(T43, T44), .(T45, T46))

The argument filtering Pi contains the following mapping:
perm1E_in_gg(x1, x2)  =  perm1E_in_gg(x1, x2)
[]  =  []
perm1E_out_gg(x1, x2)  =  perm1E_out_gg
.(x1, x2)  =  .(x1, x2)
U8_gg(x1, x2, x3, x4, x5)  =  U8_gg(x5)
eq_len1A_in_gg(x1, x2)  =  eq_len1A_in_gg(x1, x2)
eq_len1A_out_gg(x1, x2)  =  eq_len1A_out_gg
U1_gg(x1, x2, x3, x4, x5)  =  U1_gg(x5)
U9_gg(x1, x2, x3, x4, x5)  =  U9_gg(x1, x2, x3, x4, x5)
U10_gg(x1, x2, x3, x4, x5)  =  U10_gg(x5)
pC_in_gggg(x1, x2, x3, x4)  =  pC_in_gggg(x1, x2, x3, x4)
U3_gggg(x1, x2, x3, x4, x5)  =  U3_gggg(x5)
memberD_in_ggg(x1, x2, x3)  =  memberD_in_ggg(x1, x2, x3)
memberD_out_ggg(x1, x2, x3)  =  memberD_out_ggg
U7_ggg(x1, x2, x3, x4)  =  U7_ggg(x4)
memberB_in_gg(x1, x2)  =  memberB_in_gg(x1, x2)
memberB_out_gg(x1, x2)  =  memberB_out_gg
U2_gg(x1, x2, x3, x4)  =  U2_gg(x4)
pC_out_gggg(x1, x2, x3, x4)  =  pC_out_gggg
U4_gggg(x1, x2, x3, x4)  =  U4_gggg(x4)
U5_gggg(x1, x2, x3, x4, x5, x6)  =  U5_gggg(x2, x3, x4, x5, x6)
U6_gggg(x1, x2, x3, x4, x5, x6)  =  U6_gggg(x6)
EQ_LEN1A_IN_GG(x1, x2)  =  EQ_LEN1A_IN_GG(x1, x2)

We have to consider all (P,R,Pi)-chains

(24) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(25) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

EQ_LEN1A_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN1A_IN_GG(T28, T30)

R is empty.
Pi is empty.
We have to consider all (P,R,Pi)-chains

(26) PiDPToQDPProof (EQUIVALENT transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

EQ_LEN1A_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN1A_IN_GG(T28, T30)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(28) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • EQ_LEN1A_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN1A_IN_GG(T28, T30)
    The graph contains the following edges 1 > 1, 2 > 2

(29) YES